#ifndef _HY_GATE_SESSION_H_
#define _HY_GATE_SESSION_H_

#include "hy_session.h"

template<typename Tservice>
class hy_session_input : public hy_input_tactics
{
public:
	hy_session_input(Tservice* service):_service(service){}
	~hy_session_input(){}

	virtual hy_err_t handle_input(hy_socket_t sc)
	{ 
		const hy_u32_t max = 200;
		char buf[max];
		hy_u32_t rlen = 0;
		if (hy_os::recv(sc,buf,max-1,rlen) == hy_right)
		{
			buf[rlen] = '\0';
			hy_trace("recv data [%s]",buf);
		}
		else
		{
			return hy_error;
		}

		return hy_right; 
	}
protected:
	Tservice*	_service;
private:
};

class hy_gate_session : public hy_session
{
	

public:
	hy_gate_session(){}
	~hy_gate_session(){}

protected:

	
};

#endif
